iT邦幫忙

2024 iThome 鐵人賽

DAY 24
0
Python

從0開始學習Python-為未來學習AI奠定基礎系列 第 24

從0開始學習Python---Numpy 模組

  • 分享至 

  • xImage
  •  

Numpy 模組

陣列 ndarray

Numpy 的核心數據結構是 ndarray,它是一種多維陣列。而 AI 模型中的輸入數據(如圖片、音訊、文本等)通常被轉換為數字矩陣,因此學會如何使用 ndarray 處理多維數據是 AI 學習的基礎。

一維陣列的四則運算 & 關係運算子

  • 在訓練 AI 模型時經常會進行大量的數據操作,如加權平均、歸一化等,這些操作都依賴於對陣列進行四則運算與關係運算。
  • 加法、減法、乘法和除法可以直接在陣列上進行。
  • 比較運算可以用來篩選符合條件的數據

模擬計算模型預測誤差

https://ithelp.ithome.com.tw/upload/images/20240924/20168994rjPVr64JtK.png
https://ithelp.ithome.com.tw/upload/images/20240924/20168994lOtmzoAU50.png

  1. 先計算預測值與實際值之間的誤差。
  2. 使用關係運算子來篩選誤差大於 2 的數據,這在訓練 AI 模型時,可以用來篩選出模型預測錯誤較大的數據點。

向量內積與 AI 中的線性代數

  • 在神經網絡中,向量內積是計算層與層之間輸入與權重的基礎。
  • 向量內積在機器學習中會比較兩個數據集合之間的關係,並且可以用來進行特徵選擇

計算兩個向量的內積

https://ithelp.ithome.com.tw/upload/images/20240924/20168994QY7fZ6O21e.pnghttps://ithelp.ithome.com.tw/upload/images/20240924/201689941JYmaQchYY.png

  1. 計算內積 dot_product = np.dot(a, b)
    內積的計算方式是將兩個陣列中對應位置的元素相乘,然後將乘積加總。
  2. 計算步驟:
    1 * 4 = 4
    2 * 5 = 10
    3 * 6 = 18
  3. 內積的結果:4 + 10 + 18 = 32

二維陣列切片 & 矩陣運算

  • 處理圖像數據時,圖像通常以二維陣列的形式儲存,這時我們需要學習如何進行切片和矩陣運算。
  • 使用 : 來表示一維或二維陣列的切片操作。
  • 矩陣運算可以用於圖像的縮放、旋轉等處理。

對 2x2 矩陣進行切片操作

https://ithelp.ithome.com.tw/upload/images/20240924/20168994C4xfBYHR5X.pnghttps://ithelp.ithome.com.tw/upload/images/20240924/20168994dEHXx1LQpu.png

使用 : 符號來表示選取所有的行,1:3 表示選取列的範圍,這很適合用在處理圖像時想要截取局部區域的情況。


簡單線性代數運算 & 解聯立方程式

  • 在機器學習中,線性回歸是一個常見的模型,解聯立方程式可以用來解決模型中的參數估計問題。
  • 使用 np.linalg.solve() 來解聯立方程式。

解聯立方程式

https://ithelp.ithome.com.tw/upload/images/20240924/20168994zZLPvLkzfx.pnghttps://ithelp.ithome.com.tw/upload/images/20240924/20168994M4sKBLzur0.png

  1. 定義係數矩陣 A = np.array([[3, 1], [1, 2]])
    建立聯立方程式的係數矩陣,這裡的 [3, 1] 和 [1, 2] 對應的是方程式的係數。
    3x + y = 9
    x + 2y = 8

  2. 定義常數向量 b = np.array([9, 8])
    這是方程式的右邊常數。9 和 8 對應的是每個方程式的常數項。


結語

今天學習的 Numpy 模組讓我深入了解陣列運算和矩陣操作在 AI 開發中的重要性,透過一維和二維陣列的四則運算與向量內積,我更明白了這些數學運算是許多 AI 演算法的基礎。

而矩陣運算和 AI 模型中的計算緊密相關,像是神經網絡的權重更新等操作都離不開矩陣運算,所以學好這些 Numpy 模組的知識是往 AI 領域發展的很重要的工具><

明天會再介紹一個 Numpy 模組和做小專題,幫助我自己更理解這些知識~


上一篇
從0開始學習Python---進階網路爬蟲、爬取自己的鐵人檔案和Youtube
下一篇
從0開始學習Python---Numpy 隨機數、輔大學生人數預測
系列文
從0開始學習Python-為未來學習AI奠定基礎30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言